/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package questionbook.model;

import org.openrdf.model.Literal;
import org.openrdf.model.URI;

/**
 * Represents a Suggest, where a User can suggest a friend of him
 * to answer a specifed question
 *
 * @author stefanstift
 */
public class Suggest extends StandardModel {

    /**
     * The user who creates the Suggest
     */
    private Person suggester;

    /**
     * The user who gets suggeested
     */
    private Person suggested;

    /**
     * The Question for which the user gets suggested
     */
    private Question question;

    /**
     * The Reason why the User suggests the other one
     */
    private String text;

    /**
     * Creates a new Suggest instance with the specified URI
     *
     * @param uri
     */
    public Suggest(URI uri) {
        super(uri);
    }

    /**
     * Creates a new Suggest instance with the specified URI-String
     *
     * @param uri
     */
    public Suggest(String uri) {
        super(uri);
    }

    /**
     *
     * @return the Question for this Suggest
     */
    public Question getQuestion() {
        return question;
    }

    /**
     * Sets the Question for this Suggest
     *
     * @param question
     */
    public void setQuestion(Question question) {
        this.question = question;
    }

    /**
     *
     * @return the User who gets suggested by this Suggest
     */
    public Person getSuggested() {
        return suggested;
    }

    /**
     * Sets the User who gets suggested by this Suggest
     *
     * @param suggested
     */
    public void setSuggested(Person suggested) {
        this.suggested = suggested;
    }

    /**
     *
     * @return the User who created this Suggest
     */
    public Person getSuggester() {
        return suggester;
    }

    /**
     * Sets the User who created this Suggest
     *
     * @param suggester
     */
    public void setSuggester(Person suggester) {
        this.suggester = suggester;
    }

    /**
     *
     * @return the Descriptiontext for this Suggest as Literal
     */
    public Literal getTextLiteral() {
        return this.getStringLiteral(text);
    }

    /**
     *
     * @return the Descriptiontext for this Suggest
     */
    public String getText() {
        return text;
    }

    /**
     * Sets the Descriptiontext fpr this Suggest
     *
     * @param text
     */
    public void setText(String text) {
        this.text = text;
    }






}
